#include <stdio.h>
// #include <stdlib.h>
// #include <unistd.h>
// #include <pthread.h>

// #include <stdio.h>
// #include <signal.h>
 int flag = 0;
// int flag = 0;
// void handler(int sig)
// {
//     printf("chage flag 0 to 1\n");
//     flag = 1;
// }
int main()
{
    //signal(2, handler);
    while (!flag)
    {
        ;
    }
    printf("process quit normal\n");
    return 0;
}

// void* print_loop(void* arg)
// {
//     while (1)
//     {
//         printf("Running...\n");  // printf 可能是取消点
//     }
//     return NULL;
// }

// // void* compute_loop(void* arg)
// // {
// //     while (1)
// //     {  // 无取消点
// //         int x = 0;
// //         for (int i = 0; i < 100; i++) x += i;
// //     }
// //     return NULL;
// // }

// int main()
// {
//     pthread_t tid;
//     pthread_create(&tid, NULL, print_loop, NULL);
//     sleep(1);
//     pthread_cancel(tid);  // 发送取消请求
//     printf("Cancel sent, waiting...\n");
//     pthread_join(tid, NULL);  // 卡死在这里，线程不会退出
//     printf("退出成功\n");
//     return 0;
// }